package com.qbb.cqdazong.direr.appsharelib.utils

import android.content.Context
import android.graphics.Rect

import android.view.View




/**
 * Created by bj on 2015/7/29.
 * 分辨率单位转换工具类
 */
object DensityUtil {

    /**
     * 将px值转换为dip或dp值，保证尺寸大小不变

     * @param pxValue
     * *
     * @param scale
     * *            （DisplayMetrics类中属性density）
     * *
     * @return
     */
    fun px2dip(context: Context, pxValue: Float): Int {
        val scale = context.resources.displayMetrics.density
        return (pxValue / scale + 0.5f).toInt()
    }

    /**
     * 将dip或dp值转换为px值，保证尺寸大小不变

     * @param dipValue
     * *
     * @param scale
     * *            （DisplayMetrics类中属性density）
     * *
     * @return
     */
    fun dip2px(context: Context, dipValue: Float): Int {
        val scale = context.resources.displayMetrics.density
        return (dipValue * scale + 0.5f).toInt()
    }

    /**
     * 判断View是否可见
     *
     * @param target   View
     * @param judgeAll 为true时,判断View全部可见才返回true
     * @return boolean
     */
    fun isVisibleLocal(target: View, judgeAll: Boolean): Boolean {
        val rect = Rect()
        target.getLocalVisibleRect(rect)
        return if (judgeAll) {
            rect.top == 0
        } else {
            rect.top >= 0
        }
    }

}
